Spring Boot ORM এর মাধ্যমে সহজে CRUD (Create, Read, Update, Delete) অপারেশন সম্পাদন করা যায়। এই উদাহরণে Hibernate এবং Spring Data JPA ব্যবহার করে একটি ডেটাবেসে CRUD অপারেশন বাস্তবায়ন দেখানো হয়েছে।
প্রাথমিক সেটআপ
Maven ডিপেনডেন্সি
pom.xml ফাইলে প্রয়োজনীয় ডিপেনডেন্সি যুক্ত করুন:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
ডাটাবেস কনফিগারেশন
application.properties ফাইলে ডাটাবেস কনফিগারেশন যুক্ত করুন:
spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
spring.datasource.username=root
spring.datasource.password=1234
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
Entity ক্লাস তৈরি
Entity ক্লাস @Entity অ্যানোটেশন দ্বারা সংজ্ঞায়িত হয়। উদাহরণ:
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
@Entity
public class Product {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private Double price;
// Getters and Setters
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Double getPrice() {
return price;
}
public void setPrice(Double price) {
this.price = price;
}
}
Spring Data JPA Repository
Spring Data JPA রেপোজিটরি তৈরি করুন, যা ডাটাবেসে CRUD অপারেশন সহজ করে:
import org.springframework.data.jpa.repository.JpaRepository;
public interface ProductRepository extends JpaRepository<Product, Long> {
}
সার্ভিস লেয়ার তৈরি
ব্যবসায়িক লজিক পরিচালনার জন্য একটি সার্ভিস লেয়ার তৈরি করুন:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class ProductService {
@Autowired
private ProductRepository productRepository;
// Create or Update
public Product saveProduct(Product product) {
return productRepository.save(product);
}
// Read All
public List<Product> getAllProducts() {
return productRepository.findAll();
}
// Read By ID
public Product getProductById(Long id) {
return productRepository.findById(id).orElse(null);
}
// Delete
public void deleteProduct(Long id) {
productRepository.deleteById(id);
}
}
REST কন্ট্রোলার তৈরি
RESTful API তৈরি করতে কন্ট্রোলার ক্লাস ব্যবহার করুন:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/products")
public class ProductController {
@Autowired
private ProductService productService;
// Create or Update Product
@PostMapping
public Product saveProduct(@RequestBody Product product) {
return productService.saveProduct(product);
}
// Get All Products
@GetMapping
public List<Product> getAllProducts() {
return productService.getAllProducts();
}
// Get Product By ID
@GetMapping("/{id}")
public Product getProductById(@PathVariable Long id) {
return productService.getProductById(id);
}
// Delete Product
@DeleteMapping("/{id}")
public String deleteProduct(@PathVariable Long id) {
productService.deleteProduct(id);
return "Product deleted successfully!";
}
}
CRUD অপারেশন API উদাহরণ
Create (POST)
URL: http://localhost:8080/products
Method: POST
Request Body:
{
"name": "Laptop",
"price": 75000.00
}
Read All (GET)
URL: http://localhost:8080/products
Method: GET
Read By ID (GET)
URL: http://localhost:8080/products/{id}
Method: GET
Update (POST)
URL: http://localhost:8080/products
Method: POST
Request Body:
{
"id": 1,
"name": "Updated Laptop",
"price": 80000.00
}
Delete (DELETE)
URL: http://localhost:8080/products/{id}
Method: DELETE
Spring Boot এবং Hibernate ব্যবহার করে CRUD অপারেশন বাস্তবায়নের প্রক্রিয়া খুব সহজ। এই উদাহরণটি ব্যবহার করে আপনি দ্রুত ডাটাবেস-নির্ভর অ্যাপ্লিকেশন তৈরি করতে পারবেন।
Read more